home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / others / codetext / esscd64 / esscode.txt < prev    next >
Encoding:
Text File  |  1995-06-04  |  22.9 KB  |  520 lines

  1.                            E S S - C o d e   6 . 4
  2.                           """""""""""""""""""""""""
  3.  
  4.                   Copyright 1993, 1994, 1995, Michel Forget
  5.                      
  6.                            Electric Storm Software      
  7.  
  8.     ---------------------------------------------------------------------
  9.     Atari (Mega) ST/STe / STfm / TT / Falcon ASCII <--> BINARY Conversion
  10.  
  11.                           MultiTOS / Mag!X / Geneva                         
  12.     ---------------------------------------------------------------------
  13.     PC VERSION AVAILABLE:      [DOS]     SimTel/msdos/decode/ecd64dos.zip
  14.                                [WINDOWS] SimTel/win3/encode/ecd64awn.zip
  15.     SimTel Archives & Mirrors  [95/NT]   RSN!
  16.     ---------------------------------------------------------------------
  17.                 
  18.                 * * * I M P O R T A N T   N O T I C E ! * * *
  19.  
  20.      As a direct result of the growing investment of time and effort
  21.      placed into this application, ESS-Code is now a SHAREWARE product.
  22.  
  23.      Users who register ESS-Code will receive a disk with the latest
  24.      version of ESS-Code (optimized), and a registered (optimized,
  25.      personalized) version of MasterBrowse (which also includes MasterPrint,
  26.      AutoDate, ACC-Pad, ShadowTerm II, and a coupon for a free catalog from
  27.      Suzy B's Software and a $3 credit toward the purchase of a disk from
  28.      the Suzy B's Software collection).
  29.  
  30.      The continued development of ESS-Code depends _solely_ on user
  31.      contributions; if no such contributions are received, this
  32.      application will not be developed further.
  33.  
  34.      For more information on registration, please read the "Registration"
  35.      section of this manual.
  36.  
  37.                 * * * * * * * * * * * * * * * * * * * * * * *
  38.  
  39.      *-----------------------------------------------------------------*
  40.      | For information about the distribution of ESS-Code, please read |
  41.      | the section of this manual entitled "Distribution".             |
  42.      *-----------------------------------------------------------------*
  43.  
  44.                                  - CONTENTS -
  45.  
  46.                         I. INTRODUCTION
  47.  
  48.                        II. REGISTRATION
  49.  
  50.                       III. INSTALLING & USING ESS-CODE
  51.                           
  52.                        IV. OPTIONS
  53.                            A. Confirm Termination
  54.                            B. Confirm Overwrites
  55.                            C. Progress Displays
  56.                            D. Unix Line Termination
  57.                            E. TOS 1.4 File Selector
  58.                            F. AutoSave Options
  59.                            G. Use Fast SHIP Encoding
  60.                            I. Include Paths
  61.                            J. Specify Segments
  62.                            K. Select Target
  63.                            L. Segmentation
  64.                            
  65.                         V. ACKNOWLEDGEMENTS
  66.                        
  67.                        VI. DISCLAIMER
  68.                         
  69.                       VII. DISTRIBUTION
  70.                        
  71.                      VIII. CONTACTING THE AUTHOR
  72.                       
  73.                        IX. THE ART OF BINARY <-> ASCII CONVERSION
  74.  
  75.                         X. CLOSING
  76.  
  77.  
  78. I. INTRODUCTION
  79. -=-=-=-=-=-=-=-
  80.  
  81.     This program was designed to allow computer users to exchange binary
  82. files over computer networks that do not support the transmission of
  83. binary data.  This can be done by converting the binary file to an ASCII
  84. file, then converting the ASCII file back to its original binary state
  85. after transmission.
  86.  
  87.     There are four popular methods of conversion; UUEncoding/UUDecoding,
  88. MIME-Encoding/MIME-Decoding, BTOA-Encoding/BTOA-Decoding, and SHIP-Encoding/
  89. SHIP-Decoding.  Since each of these conversion methods is an accepted
  90. standard, there are a wide variety of encoding/decoding utilities for
  91. every computer platform.
  92.  
  93.     If output size is not an issue, the best conversion method to use is
  94. UUEncoding/UUDecoding.  This method is fast, reliable, and allows large
  95. files to be segmented (and re-assembled) automatically.
  96.  
  97.     If output size is an issue, however, the best conversion method to use
  98. is MIME-Encoding/MIME-Decoding.  This conversion method is not very fast,
  99. but produces very compact output.  It is rapidly replacing UUEncoding/
  100. UUDecoding as the conversion method of choice, because it is has all of
  101. the power of UUEncoding/UUDecoding and is nearly as widely supported.
  102.  
  103.     Why should you use ESS-Code instead of one of the many other utilities
  104. currently available?
  105.  
  106.     Here are six good reasons:
  107.     
  108.         1)  SPEED - ESS-Code is much faster than other coding programs
  109.             that I have tested.  In some cases, the difference is as much
  110.             as 469%!  (Yes, that is correct.)
  111.             
  112.         2)  APPEARANCE - ESS-Code uses GEM!  This means that you are given
  113.             a nicely formatted progress display (which shows the output file,
  114.             the input file, the currently active parameters, the source and
  115.             destination path, and a "percentage" meter in both numeric and
  116.             graphic form that indicates how much of the current file
  117.             has been processed.  Since it is a GEM program, you can access
  118.             your desk accessories at any time, and set your options using
  119.             pull-down menus.  ESS-Code uses NON-MODAL window dialogs and
  120.             alert boxes, so you can use your accessories or applications
  121.             (or even other ESS-Code dialog boxes) while inside a dialog box!
  122.             With MultiTOS, all dialog boxes (and alert boxes) can be
  123.             iconified.
  124.  
  125.         3)  FLEXABILITY - ESS-Code supports UUEncoding, UUDecoding,
  126.             BTOA-Encoding, BTOA-Decoding, SHIP-Encoding, SHIP-Decoding,
  127.             MIME-Encoding, MIME-Decoding, RAW-Splitting, and RAW-Concatening
  128.             of files.  All of your file conversion needs are handled by one
  129.             program.  Should the need arise, ESS-Code can even execute as a
  130.             TOS program (with a TOS interface).
  131.  
  132.         4)  COMPATIBILITY - While conversion methods have remained roughly
  133.             the same, the Atari ST has not.  ESS-Code has support for the
  134.             ARGV command line standard that Atari has adopted, as well as
  135.             support for the default command line standard used by older ST
  136.             systems.  There are versions of ESS-Code for DOS, Windows,
  137.             Windows95*, WindowsNT*, and TOS.  Support on multiple platforms
  138.             enhances compatibility.
  139.  
  140.         5)  OPTIONS - ESS-Code has more options than any other encoding or
  141.             decoding program available for the Atari.
  142.  
  143.         6)  HELP - Using the ST-Guide HyperText accessory, the entire
  144.             ESS-Code manual is available at any time from within
  145.             ESS-Code.
  146.  
  147.  
  148. II. REGISTRATION
  149. -=-=-=-=-=-=-=-=
  150.  
  151. OR:  Why should I send this person money if I have the program already?
  152.  
  153.     I would like to start this section of the manual by saying I am not
  154. going to try to make you feel guilty; I would like to say it, but I will
  155. not.
  156.  
  157.     Like many authors of Shareware products, I have come to learn that
  158. very few people register Shareware software.  I do not know why; I can
  159. only guess the reasons.  The reasons do not really matter, though,
  160. because the end result is always the same.  On GEnie, MasterBrowse is
  161. regularly downloaded by over 150 users.  The numbers are much the same
  162. for CompuServe and Delphi, and much higher on the Internet.  Only 34
  163. people have registered MasterBrowse, though.
  164.  
  165.     I hope that more people elect to register ESS-Code.  There are many
  166. incentives to do so, but the largest incentive of all is this; there
  167. will be no further development of this product unless some registrations
  168. are received.  I cannot say it any more clearly; I love to write software
  169. for this system, but I cannot continue to do it without your support.
  170.  
  171.     Users who register ESS-Code will receive an optimized version of
  172. ESS-Code, a registered (and optimized) version of the popular text
  173. file viewer MasterBrowse, a series of utilities (AutoDate, ACC-Pad,
  174. MasterPrint, ShadowTerm II, and a coupon for a free catalog from
  175. Suzy B's Software.
  176.  
  177.     To register ESS-Code, send $15 (Canadian/US) to:
  178.  
  179.     Michel Forget
  180.     12209 Dovercourt Avenue
  181.     Edmonton, Alberta
  182.     CANADA
  183.     T5L 4E1
  184.  
  185.     If you do not live in North America (and you are writing to this 
  186. address instead of the address for users in the United Kingdom), please
  187. send an international money order or the equivalent of $15 in your own
  188. currency.  Please do not send a personal cheque unless you live in North
  189. America.
  190.  
  191.     If you live in the United Kingdom, you can send 14 UKPounds (cheque
  192. or money order) to Denesh Bhabuta:
  193.  
  194.      ESS (c/o Denesh Bhabuta)
  195.      203 Parr Lane
  196.      Unsworth
  197.      Bury
  198.      Lancashire
  199.      BL9 8JW
  200.  
  201. III. INSTALLING & USING ESS-CODE
  202. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  203.  
  204.     ESS-Code is a very versatile application, so there are several ways that
  205. it can be invoked:
  206.         
  207.     1)  The simplest way to use ESS-Code is to execute ESSCODE.PRG and then
  208.         select the options you would like to use and initiate an encoding
  209.         or decoding operation.
  210.  
  211.     2)  If you have a hard disk, you may want to install ESSCODE.PRG an an
  212.         application.  For best results, please ensure that the current
  213.         directory is set to "top window".  Since TOS 1.2 does not handle
  214.         installed applications correctly, it may be neccessary to edit
  215.         the DESKTOP.INF file (add the full pathname of ESS-Code to the
  216.         line containing the filename ESSCODE.PRG).
  217.  
  218.     3)  ESS-Code can also be installed on the desktop as an icon; this
  219.         allows an entire group of files to be processed in a single
  220.         pass.  Simply drag the desired files to the ESS-Code icon and
  221.         release the mouse button.  ESS-Code will _automatically_ decide
  222.         which files should be encoded and which files should be decoded.
  223.         Depending on your preferences, ESS-Code will also decide which
  224.         conversion method to use or ask which conversion method should be
  225.         used.
  226.  
  227.     4)  ESS-Code can easily be invoked from a command line interpreter.
  228.         Commands are not case-sensitive, but must be in the correct 
  229.         order and contain the correct number of arguments.  If ESS-Code
  230.         is invoked this way, it will use a TOS interface, which conforms
  231.         to the emerging standard among GEM archiver utilities.
  232.  
  233.         -uue     source destination_file
  234.         -uud     source destination_file
  235.         -btoa    source destination_file
  236.         -atob    source destination_file
  237.         -ship    source destination_path
  238.         -unship  destination_file source [source ...]
  239.         -mime    source destination_file
  240.         -unmime  source destination_file
  241.  
  242.         This method of invoking ESS-Code is not reliable when used with
  243.         segmented input/output.
  244.  
  245. IV. OPTIONS
  246. -=-=-=-=-=-
  247.  
  248.     There are several options that can be set to control how ESS-Code
  249. behaves:
  250.  
  251.     A. Confirm Termination - This option determines whether or not
  252.        ESS-Code will ask for confirmation before terminating.
  253.  
  254.     B. Confirm Overwrites - This option determines how ESS-Code will
  255.        behave if an existing file will be overwritten by an encoding
  256.        or decoding operation; if it is enabled, you will be given the
  257.        option of aborting the operation.
  258.  
  259.     C. Progress Displays - This option determines whether or not ESS-Code
  260.        will show progress displays.  Other than saving screen space, there
  261.        is no real advantage to turning progress displays off.
  262.  
  263.     D. Unix Line Termination - This option will force ESS-Code to terminate
  264.        ASCII lines with a linefeed (Unix) instead of a linefeed/carriage
  265.        return (IBM/Atari).
  266.  
  267.     E. TOS 1.4 File Selector - If this option is enabled, ESS-Code will
  268.        display prompts in the file selector.
  269.  
  270.     F. AutoSave Options - If this option is activated, ESS-Code will save
  271.        your options when you exit the program.  
  272.     
  273.     G. Use Fast SHIP Encoding - If this option is enabled, ESS-Code will
  274.        use an alternate (faster but less efficient) conversion method
  275.        during SHIP-Encoding operations.
  276.  
  277.     H. Include Paths - If this option is used, ESS-Code will include the
  278.        complete path of the source file in the encoded data.  Thus, when
  279.        decoding, the file will be written to the same path.  This option
  280.        should usually not be used, since it is unlikely that the system
  281.        that will receive the file will have the same directory structure
  282.        as your system.
  283.  
  284.     I. Specify Segments - This option (when selected) causes ESS-Code to
  285.        prompt the user for the name and location (using the file selector)
  286.        of each piece of the file to be UUDecoded.  This option will mainly
  287.        be of interest to users of Hermes UUCP or UPoint, who will no longer
  288.        have to copy messages out of their news directory, and then waste
  289.        time renaming the segments.
  290.     
  291.     J. Select Target - This option allows you to choose the destination
  292.        path for any encoding/decoding operation.  This option is mainly
  293.        for floppy users who want to decode to a ramdisk or a second floppy
  294.        disk and CLI users (who must specify a destination on the command
  295.        line).
  296.  
  297.        For those who would like the file selector to always be opened to
  298.        the same path (which is especially useful for people who always
  299.        extract files to the same place) the environment variable
  300.        "ESS_DPATH" can be defined; it should contain a "\" terminated
  301.        pathname.
  302.  
  303.     K. Default Conversion Method - This option determines which conversion
  304.        method ESS-Code will use when processing a group of files (such as
  305.        when the user selects "Process Batch" or when ESS-Code is passed
  306.        files on the command line).
  307.  
  308.     L. Segmentation - An encoded file can be divided into pieces, which
  309.        will be automatically joined together when being decoded.  This
  310.        makes it easier for network mailing software to process the
  311.        encoded file.  You can choose one of the preset sizes, or set your
  312.        own.  (Unless you are sure it will work, you should not use
  313.        segment sizes larger than 50K).
  314.  
  315.  
  316. V. ACKNOWLEDGEMENTS
  317. -=-=-=-=-=-=-=-=-=-
  318.  
  319.     There are many people who are deserving of recognition for their aid
  320. in creating this application:
  321.  
  322.     First, I would like to thank Steve Yelvington, the author of UUCODER
  323. 1.0 (the program on which ESS-Code was based).
  324.  
  325.     Another person deserving of recognition is Christian Grunenberg, the
  326. author of the excellent EnhancedGEM Library which is the core of ESS-Code.
  327. Christian is also responsible for the solving of the Falcon problems; his
  328. observations were absolutely correct, and solved the problems completely
  329. when I was almost ready to give up.
  330.  
  331.     I would also like to thank Ofir Gal, Traci J. Ingram, Gerhard Hoelscher,
  332. Carsten Friehe, Manfred Ssykor, the users of the MausNet, the users of the
  333. Internet, Mark Adler, Steve Wells, Michael Mies, John G. Myers, and RSA
  334. Data Security Incorporated.  In addition, I would like to thank the fine
  335. people of the GEM-List, who have contributed greatly to my understanding
  336. of the way the Atari operating system works.
  337.    
  338.  
  339. VI. DISCLAIMER
  340. -=-=-=-=-=-=-=
  341.  
  342.     ESS-Code does not come with any warranty, express or implied.  If you
  343. use ESS-Code, you do so at your own risk.  Neither the author of ESS-Code
  344. (Michel Forget) nor any other party will accept responsability for any
  345. equipment damage, data loss, or other unforseen consequence of the use or
  346. mis-use of ESS-Code.
  347.  
  348.  
  349. VII. DISTRIBUTION
  350. -=-=-=-=-=-=-=-=-
  351.  
  352.     There are two limitations placed on the distribution of ESS-Code:
  353.  
  354.     1) When distributed, ESS-Code must contain all files found in the
  355.        original archive.
  356.  
  357.     2) ESS-Code may not be distributed on the cover disk of any magazine
  358.        without the express written permission of the author.  This
  359.        limitation does not apply to electronic (or non-profit)
  360.        magazines.
  361.  
  362.  
  363. VIII. CONTACTING THE AUTHOR
  364. -=-=-=-=-=-=-=-=-=-=-=-=-=-
  365.  
  366.     If you would like to contact me with bug reports, suggestions, or
  367. comments, you can do so through the following addresses (in order of
  368. personal preference):
  369.  
  370. Internet:  mforget@elfhaven.ersys.edmonton.ab.ca
  371.            mforget@worldgate.com
  372.  
  373.     Mail:  Michel Forget
  374.            12209 Dovercourt Avenue
  375.            Edmonton, Alberta
  376.            CANADA
  377.            T5L 4E1
  378.  
  379.  
  380. IX. THE ART OF BINARY <-> ASCII CONVERSION
  381. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  382.  
  383.      ESS-Code is an extremely flexible application; this section of the
  384. manual discusses (in detail) each of the four conversion methods supported
  385. by ESS-Code, and compares them.
  386.  
  387.      UUEncode/UUDecode
  388.      -----------------
  389.  
  390.      SYNOPSIS --          Speed:  Very Fast
  391.                       Expansion:  Poor (25%-30%)
  392.                    Segmentation:  Yes
  393.                  Reconstruction:  Automatic
  394.                  
  395.      This method of conversion is one of the first to gain popularity,
  396. and is thus one of the most widely accepted/used conversion methods to
  397. date.  It is supported on every computer platform, and provides reasonably
  398. good error checking.  It is very fast, but not very efficient.  The main
  399. advantages of using this conversion method are the speed, the ability to
  400. break up the output generated into small segments, and the ability to
  401. automatically reconstruct the segmented output.  The main (perhaps only)
  402. disadvantage of using this conversion method is that it generates output
  403. that is 25% (or more) larger than the original binary information.
  404.  
  405.      BTOA-Encode/BTOA-Decode
  406.      -----------------------
  407.  
  408.      SYNOPSIS --          Speed:  Slow
  409.                       Expansion:  Good (20%-25%)
  410.                    Segmentation:  No
  411.                  Reconstruction:  Manual
  412.  
  413.      While this method of conversion is popular, it is not as widely
  414. used/accepted as UUEncode/UUDecode.  It is vastly slower than UUEncode/
  415. UUDecode, but it generates more compact output.  The main advantage of
  416. using this conversion method is that it provides slightly better error
  417. checking that UUEncode/UUDecode.  There are numerous disadvantages, though,
  418. such as the lack of automatic segmentation or reconstruction.
  419.  
  420.      SHIP-Encode/SHIP-Decode
  421.      -----------------------
  422.  
  423.      SYNOPSIS --          Speed:  Average
  424.                       Expansion:  Good (20%-25%)
  425.                    Segmentation:  Yes
  426.                  Reconstruction:  Semi-Automatic
  427.  
  428.      While this conversion method is not as widely accepted/used as any of
  429. the other conversion methods, it is used extensively on HP-UNIX platforms.
  430. It is faster than BTOA-Encode/BTOA-Decode, and offers a nearly identical
  431. expansion rate, but has very light error checking.  It can create segmented
  432. output, and has semi-automaic reconstruction of segmented output.  There
  433. are two variations of this conversion method; the 'Fast' conversion
  434. algorithm is somewhat faster than the default conversion algorithm, but
  435. (oddly) has a nearly identical expansion rate.
  436.  
  437.      MIME-Encode/MIME-Decode
  438.      -----------------------
  439.  
  440.      SYNOPSIS --          Speed:  Fast
  441.                       Expansion:  Average (20%-30%)
  442.                    Segmentation:  Yes
  443.                  Reconstruction:  Automatic
  444.  
  445.      This conversion method is rapidly becoming more popular than any
  446. other conversion method to date.  It is fast, but has a low expansion
  447. rate.  This conversion method, like UUEncode/UUDecode, has very good
  448. error checking.  It can generate segmented output, and reconstruct
  449. that output with no user intervention.  One of the main advantages to
  450. using this conversion method is that it is supported on nearly every
  451. computer platform; UNIX, Macintosh, IBM, Amiga, Atari, and others.
  452.  
  453.      The Exact Figures
  454.      -----------------
  455.  
  456.      Conversion Utility:  ESS-Code 6.3
  457.                           Electric Storm Software
  458.                           (Shareware)
  459.  
  460.      Archive #1: COMA_210.ZIP
  461.  
  462.                  Orginal      UUE        BTOA       SHIP       MIME
  463.                --------------------------------------------------------
  464.           Size | 256,695  | 355,276  | 321,079  | 321,422  | 343,520  |
  465.           Time | MM.SS.XX | 00.28.57 | 02.00.24 | 01.28.50 | 00.52.38 |
  466.                --------------------------------------------------------
  467.  
  468.      Archive #2: EGEMSOZX.LZH
  469.  
  470.                  Orginal      UUE        BTOA       SHIP       MIME
  471.                --------------------------------------------------------
  472.           Size | 166,715  | 233,505  | 211,131  | 211,235  | 225,937  |
  473.           Time | MM.SS.XX | 00.20.55 | 01.20.59 | 00.59.41 | 00.36.45 |
  474.                --------------------------------------------------------
  475.  
  476.      Archive #3: LPR_UTL3.ZOO
  477.  
  478.                  Orginal      UUE        BTOA       SHIP       MIME
  479.                --------------------------------------------------------
  480.           Size | 117,911  | 165,181  | 149,080  | 149,412  | 159,961  |
  481.           Time | MM.SS.XX | 00.15.11 | 00.58.59 | 00.43.22 | 00.26.52 |
  482.                --------------------------------------------------------
  483.  
  484.      Conclusions
  485.      -----------
  486.  
  487.      Each of the four conversion methods is acceptable, but your specific
  488. situation may indicate which of the four conversion methods is best for
  489. you.  The average user will probably prefer to use UUEncode/UUDecode, since
  490. it is the fastest of the four conversion methods, and offers automatic
  491. segmentation and automatic reconstruction of segmented output.  People who
  492. use UNIX often should probably consider using MIME-Encoding; it is very
  493. common on UNIX systems, and is rapidly replacing all other conversion
  494. methods.  If you are paying for data transfer by the kilobyte, though,
  495. SHIP-Encoding is probably the best solution for you.  It creates extremely
  496. compact output, and offers automatic segmentation and semi-automatic
  497. reconstruction of segmented output.  The error checking is light, but this
  498. is usually not a problem.
  499.  
  500. X. CLOSING
  501. -=-=-=-=-=
  502.  
  503.    I hope that you are pleased with ESS-Code, and decide to continue using
  504. it after you have experimented with it.
  505.  
  506.     I have invested more than a year of my life in the creation of this
  507. program, though, so I _also_ hope that you will seriously consider sending
  508. in the requested donation.
  509.  
  510.     If the Atari is going to remain a viable system in the future, it needs
  511. more Shareware, Donation-Ware, Freeware, and Public Domain applications to
  512. compensate for the lack of commercial products available.  In order to make
  513. programming for the Atari viable, though, the Atari community needs to show
  514. support for the programmers of these applications.
  515.  
  516.                                                    -Michel Forget
  517.                                                     Electric Storm Software
  518.                                                     June 9, 1995
  519.  
  520.